export interface ResultData<T = any> {
  code: string;
  message: string;
  data?: T;
}
export interface RentBill {
  id: string; // 主键ID
  month: string; // 账单月份（格式：'2023-07-01'）

  water_current: number; // 当前水表读数（吨）
  water_last: number; // 上月水表读数
  water_usage: number; // 用水量（自动计算）
  water_price: number; // 每吨水单价
  water_fee: number; // 水费

  electric_current: number; // 当前电表读数（度）
  electric_last: number; // 上月电表读数
  electric_usage: number; // 用电量（自动计算）
  electric_price: number; // 每度电单价
  electric_fee: number; // 电费

  rent: number; // 房租
  clean_fee: number; // 卫生费

  settle_utilities: boolean; //是否结算水电

  total: number; // 总金额 = 房租 + 卫生费 + 水费 + 电费

  description?: string; // 备注，可选
  created_time: string; // 创建时间，格式如 '2024-07-01T10:30:00Z'
  rank: number; //排序
}

export interface Life {
  id: string; // 主键ID
  title: string; // 事件标题
  content: string; // 事件内容
  date: string; // 事件发生日期，格式为 'YYYY-MM-DD'
  location?: string; // 地点（可选）
  people?: string; // 人物（逗号分隔的字符串）
  categories?: string; // 分类标签（逗号分隔的字符串）
  rank: number; // 排序字段，越小越靠前
  created_time: string; // 创建时间，格式为 ISO 字符串
}

// 任务表基础接口
export interface Task {
  id: string;
  name: string;
  description?: string;
  job_class: string;
  cron_expression: string;
  params?: string;
  status: number;
  push_status: number;
  push_content?: string; // 推送内容字段
  created_at: string;
  updated_at: string;
}

// 日志表基础接口
export interface TaskLog {
  id: string;
  task_id: string;
  task_name: string;
  create_time?: string;
  status: number;
  error_message?: string;
  result?: string;
}

export interface PageInfo {
  page: number;
  pageSize: number;
  searchContent?: string;
  [key: string]: any;
}

export interface BaseService<T = any> {
  queryList: (params: PageInfo) => Promise<ResultData<T[]>>;
  insert: (params: T) => Promise<ResultData<boolean>>;
  deleteById: (params: string) => Promise<ResultData<Boolean>>;
  update: (params: T) => Promise<ResultData<Boolean>>;
}
